// mycomponent/yz-tree/yz-tree.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    treeListIndex: { // 默认为0，当前循环的第几层，用于tree样式展示
      type: Number,
      value: 0
    },
    data: {
      type: Array,
      value: []
    },
    prop: {
      type: Object,
      value: {
        label: "name",
        children: "child",
      }
    },
    currentid: { // 默认为0
      type: Number,
      value: 0
    },
    key: { // 默认为id
      type: String,
      value: 'id'
    }
  },
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    collapse: false // 每个tree组件对应自己的collapse属性；（true:折叠/false:展开;）
  },

  /**
   * 组件的方法列表
   */
  methods: {
    tapTreeItemCollapse: function (e) { // 点击项
      var item = e.currentTarget.dataset.item;
      if (item[this.data.prop.children] !== undefined&&item[this.data.prop.children].length>0) { // 其下有子节点，可折叠展开操作
        this.setData({ // 折叠展开操作
          collapse: !this.data.collapse,
        })
      }
      // else { // 最终子节点
      //   console.log('22222222222',item)
      //   this.triggerEvent('treeTap', {
      //     item
      //   }); // 将当前的点击项的数据传递给父页面
      // }
    },
    treenodetap: function (e) { // 递归的最终子节点
      var item = e.currentTarget.dataset.item||e.detail.item;
        this.triggerEvent('treeTap', {
          item
        }); // 将当前的点击项的数据传递给父页面              
    }
  }
})
